#include <sys/types.h>
#include <sys/stat.h>
#include "log.hpp"

Log log(MULTIFILE);

const char* FIFONAME = "file.fifo";

class FIFO
{
public:
    FIFO(const char* fifoName = FIFONAME)
        :_fifo_name(fifoName)
    {
        int ret = mkfifo(fifoName, 0666);
        if(ret < 0) { log(FATAL, "FIFO:mkfifo err"); exit(1); }
        log(LOG, "FIFO mked");
    }

    const char* getFifoName()
    {
        return _fifo_name;
    }

    ~FIFO()
    {
        unlink(_fifo_name);
        log(LOG, "FIFO closed");
    }

private:
    const char* _fifo_name;
};